import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;

public class UserInvocationHandler implements InvocationHandler {//调用处理  Invocation调用   Handler处理


    private Object target; //target目标

    public UserInvocationHandler() {
    }

    public UserInvocationHandler(Object target) {
        this.target = target;
    }


    //此方法通过实现JDK的InvocationHandler接口中的方法得到
    @Override
    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {// proxy代理的类   method代理的方法  args参数

        System.out.println("调用前-----" + method.getName());

        Object object = method.invoke(target, args);

        System.out.println("调用后-----" + method.getName());

        return object;
    }

}
